package com.example.redisdemo.util;

import org.springframework.util.StringUtils;

import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.List;

/**
 * @author hexinglin
 * @created 2022-07-12 10:34
 **/
public class StringUtilDemo {
    public static void main(String[] args) {
        String test = " hello china! Yes";

     /*     // 判断字符串是否为 null，或 ""。注意，包含空白符的字符串为非空
                    boolean isEmpty(Object str)
            // 判断字符串是否是以指定内容结束。忽略大小写
                    boolean endsWithIgnoreCase(String str, String suffix)
            // 判断字符串是否已指定内容开头。忽略大小写
                    boolean startsWithIgnoreCase(String str, String prefix)
            // 是否包含空白符
                    boolean containsWhitespace(String str)
            // 判断字符串非空且长度不为 0，即，Not Empty
                    boolean hasLength(CharSequence str)
            // 判断字符串是否包含实际内容，即非仅包含空白符，也就是 Not Blank
                    boolean hasText(CharSequence str)
            // 判断字符串指定索引处是否包含一个子串。
                    boolean substringMatch(CharSequence str, int index, CharSequence substring)
            // 计算一个字符串中指定子串的出现次数
                    int countOccurrencesOf(String str, String sub)*/
        System.out.println("StringUtils.isEmpty(test) = " + StringUtils.isEmpty(test));
        System.out.println("StringUtils.endsWithIgnoreCase(test) = " + StringUtils.endsWithIgnoreCase(test, "yes"));
        System.out.println("StringUtils.countOccurrencesOf(test) = " + StringUtils.countOccurrencesOf(test, "e"));

        /*
        * // 查找并替换指定子串
            String replace(String inString, String oldPattern, String newPattern)
            // 去除尾部的特定字符
            String trimTrailingCharacter(String str, char trailingCharacter)
            // 去除头部的特定字符
            String trimLeadingCharacter(String str, char leadingCharacter)
            // 去除头部的空白符
            String trimLeadingWhitespace(String str)
            // 去除头部的空白符
            String trimTrailingWhitespace(String str)
            // 去除头部和尾部的空白符
            String trimWhitespace(String str)
            // 删除开头、结尾和中间的空白符
            String trimAllWhitespace(String str)
            // 删除指定子串
            String delete(String inString, String pattern)
            // 删除指定字符（可以是多个）
            String deleteAny(String inString, String charsToDelete)
            // 对数组的每一项执行 trim() 方法
            String[] trimArrayElements(String[] array)
            // 将 URL 字符串进行解码
            String uriDecode(String source, Charset charset)
        * */
        System.out.println(StringUtils.replace(test, "e", "s"));
        System.out.println(StringUtils.trimAllWhitespace(test));
        System.out.println(StringUtils.delete(test,"e"));
        System.out.println(StringUtils.deleteAny(test,"l"));
        String url = "https://gitlab.cloudwalk.work/innovation-proj/cq-sgcc/cqsgcc-new/docs/-/blob/master/%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E6%96%87%E6%A1%A3/%E9%87%8D%E5%BA%86%E7%94%B5%E5%8A%9B2.0%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.docx";
        System.out.println(StringUtils.uriDecode(url, Charset.defaultCharset()));
        String split = "2 , 3 , 4 ,5 ,";
        String[] strings = StringUtils.split(StringUtils.trimTrailingCharacter(split, ','), ",");
        List<String> list = Arrays.asList(strings);
        System.out.println(list);
        list = Arrays.asList(StringUtils.trimArrayElements(strings));
        System.out.println(list);
        System.out.println(StringUtils.substringMatch(test, 0, "he"));


    }
}
